home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / info / vm.info.z / vm.info
Encoding:
Text File  |  1998-05-21  |  64.2 KB  |  1,432 lines

  1. Info file: vm.info,    -*-Text-*-
  2. produced by `texinfo-format-buffer'
  3. from filebuffer `*scratch*'
  4. using `texinfmt.el' version 2.34 of 7 June 1995.
  5.  
  6. This file documents the VM mail reader.
  7.  
  8. Copyright (C) 1989, 1991 Kyle E. Jones
  9.  
  10. Permission is granted to make and distribute verbatim copies of this
  11. manual provided the copyright notice and this permission notice are
  12. preserved on all copies.
  13.  
  14.  
  15. 
  16. File: vm.info, Node: Top, Next: Introduction, Up: (DIR)
  17.  
  18. This manual documents the VM mail reader, a Lisp program which runs as
  19. a subsystem under Emacs.  The manual is divided into the following
  20. chapters.
  21.  
  22. * Menu:
  23.  
  24. * Introduction::    Overview of the VM interface.
  25. * Starting Up::        What happens when your start VM.
  26. * Selecting Messages::    How to select messages for reading.
  27. * Reading Messages::    Previewing and paging through a message.
  28. * Sending Messages::    How to send messages from within VM.
  29. * Saving Messages::    How to save messages.
  30. * Deleting Messages::    How to delete, undelete and expunge messages
  31. * Editing Messages::    How to alter the text and headers of a message.
  32. * Message Marks::    Running VM commands on arbitrary subsets of messages.
  33. * Undoing::        How to undo changes to message attributes.
  34. * Grouping Messages::    How to make VM present similar message together.
  35. * Reading Digests::    How to read digests under VM.
  36. * Summaries::        How to view and customize the summary of a folder.
  37. * Miscellaneous::    Various customization variables undescribed elsewhere.
  38.  
  39. Indices:
  40.  
  41. * Key Index::        Menus of command keys and their references.
  42. * Command Index::    Menus of commands and their references.
  43. * Variable Index::    Menus of variables and their references.
  44.  
  45.  
  46. 
  47. File: vm.info, Node: License, Next: Introduction, Prev: Variable Index, Up: Top
  48.  
  49. License
  50. *******
  51.  
  52.  
  53. GNU GENERAL PUBLIC LICENSE
  54. **************************
  55.                        Version 1, February 1989
  56.  
  57.      Copyright (C) 1989 Free Software Foundation, Inc.
  58.      675 Mass Ave, Cambridge, MA 02139, USA
  59.  
  60.      Everyone is permitted to copy and distribute verbatim copies
  61.      of this license document, but changing it is not allowed.
  62.  
  63.  
  64. Preamble
  65. ========
  66.  
  67.   The license agreements of most software companies try to keep users
  68. at the mercy of those companies.  By contrast, our General Public
  69. License is intended to guarantee your freedom to share and change free
  70. software--to make sure the software is free for all its users.  The
  71. General Public License applies to the Free Software Foundation's
  72. software and to any other program whose authors commit to using it.
  73. You can use it for your programs, too.
  74.  
  75.   When we speak of free software, we are referring to freedom, not
  76. price.  Specifically, the General Public License is designed to make
  77. sure that you have the freedom to give away or sell copies of free
  78. software, that you receive source code or can get it if you want it,
  79. that you can change the software or use pieces of it in new free
  80. programs; and that you know you can do these things.
  81.  
  82.   To protect your rights, we need to make restrictions that forbid
  83. anyone to deny you these rights or to ask you to surrender the rights.
  84. These restrictions translate to certain responsibilities for you if
  85. you distribute copies of the software, or if you modify it.
  86.  
  87.   For example, if you distribute copies of a such a program, whether
  88. gratis or for a fee, you must give the recipients all the rights that
  89. you have.  You must make sure that they, too, receive or can get the
  90. source code.  And you must tell them their rights.
  91.  
  92.   We protect your rights with two steps: (1) copyright the software,
  93. and (2) offer you this license which gives you legal permission to
  94. copy, distribute and/or modify the software.
  95.  
  96.   Also, for each author's protection and ours, we want to make certain
  97. that everyone understands that there is no warranty for this free
  98. software.  If the software is modified by someone else and passed on,
  99. we want its recipients to know that what they have is not the
  100. original, so that any problems introduced by others will not reflect
  101. on the original authors' reputations.
  102.  
  103.   The precise terms and conditions for copying, distribution and
  104. modification follow.
  105.  
  106.                          TERMS AND CONDITIONS
  107.  
  108.   1. This License Agreement applies to any program or other work which
  109.      contains a notice placed by the copyright holder saying it may be
  110.      distributed under the terms of this General Public License.  The
  111.      "Program", below, refers to any such program or work, and a "work
  112.      based on the Program" means either the Program or any work
  113.      containing the Program or a portion of it, either verbatim or
  114.      with modifications.  Each licensee is addressed as "you".
  115.  
  116.   2. You may copy and distribute verbatim copies of the Program's
  117.      source code as you receive it, in any medium, provided that you
  118.      conspicuously and appropriately publish on each copy an
  119.      appropriate copyright notice and disclaimer of warranty; keep
  120.      intact all the notices that refer to this General Public License
  121.      and to the absence of any warranty; and give any other recipients
  122.      of the Program a copy of this General Public License along with
  123.      the Program.  You may charge a fee for the physical act of
  124.      transferring a copy.
  125.  
  126.   3. You may modify your copy or copies of the Program or any portion
  127.      of it, and copy and distribute such modifications under the terms
  128.      of Paragraph 1 above, provided that you also do the following:
  129.  
  130.         * cause the modified files to carry prominent notices stating
  131.           that you changed the files and the date of any change; and
  132.  
  133.         * cause the whole of any work that you distribute or publish,
  134.           that in whole or in part contains the Program or any part
  135.           thereof, either with or without modifications, to be
  136.           licensed at no charge to all third parties under the terms
  137.           of this General Public License (except that you may choose
  138.           to grant warranty protection to some or all third parties,
  139.           at your option).
  140.  
  141.         * If the modified program normally reads commands
  142.           interactively when run, you must cause it, when started
  143.           running for such interactive use in the simplest and most
  144.           usual way, to print or display an announcement including an
  145.           appropriate copyright notice and a notice that there is no
  146.           warranty (or else, saying that you provide a warranty) and
  147.           that users may redistribute the program under these
  148.           conditions, and telling the user how to view a copy of this
  149.           General Public License.
  150.  
  151.         * You may charge a fee for the physical act of transferring a
  152.           copy, and you may at your option offer warranty protection
  153.           in exchange for a fee.
  154.  
  155.      Mere aggregation of another independent work with the Program (or
  156.      its derivative) on a volume of a storage or distribution medium
  157.      does not bring the other work under the scope of these terms.
  158.  
  159.   4. You may copy and distribute the Program (or a portion or
  160.      derivative of it, under Paragraph 2) in object code or executable
  161.      form under the terms of Paragraphs 1 and 2 above provided that
  162.      you also do one of the following:
  163.  
  164.         * accompany it with the complete corresponding
  165.           machine-readable source code, which must be distributed
  166.           under the terms of Paragraphs 1 and 2 above; or,
  167.  
  168.         * accompany it with a written offer, valid for at least three
  169.           years, to give any third party free (except for a nominal
  170.           charge for the cost of distribution) a complete
  171.           machine-readable copy of the corresponding source code, to
  172.           be distributed under the terms of Paragraphs 1 and 2 above;
  173.           or,
  174.  
  175.         * accompany it with the information you received as to where
  176.           the corresponding source code may be obtained.  (This
  177.           alternative is allowed only for noncommercial distribution
  178.           and only if you received the program in object code or
  179.           executable form alone.)
  180.  
  181.      Source code for a work means the preferred form of the work for
  182.      making modifications to it.  For an executable file, complete
  183.      source code means all the source code for all modules it
  184.      contains; but, as a special exception, it need not include source
  185.      code for modules which are standard libraries that accompany the
  186.      operating system on which the executable file runs, or for
  187.      standard header files or definitions files that accompany that
  188.      operating system.
  189.  
  190.   5. You may not copy, modify, sublicense, distribute or transfer the
  191.      Program except as expressly provided under this General Public
  192.      License.  Any attempt otherwise to copy, modify, sublicense,
  193.      distribute or transfer the Program is void, and will
  194.      automatically terminate your rights to use the Program under this
  195.      License.  However, parties who have received copies, or rights to
  196.      use copies, from you under this General Public License will not
  197.      have their licenses terminated so long as such parties remain in
  198.      full compliance.
  199.  
  200.   6. By copying, distributing or modifying the Program (or any work
  201.      based on the Program) you indicate your acceptance of this
  202.      license to do so, and all its terms and conditions.
  203.  
  204.   7. Each time you redistribute the Program (or any work based on the
  205.      Program), the recipient automatically receives a license from the
  206.      original licensor to copy, distribute or modify the Program
  207.      subject to these terms and conditions.  You may not impose any
  208.      further restrictions on the recipients' exercise of the rights
  209.      granted herein.
  210.  
  211.   8. The Free Software Foundation may publish revised and/or new
  212.      versions of the General Public License from time to time.  Such
  213.      new versions will be similar in spirit to the present version,
  214.      but may differ in detail to address new problems or concerns.
  215.  
  216.      Each version is given a distinguishing version number.  If the
  217.      Program specifies a version number of the license which applies
  218.      to it and "any later version", you have the option of following
  219.      the terms and conditions either of that version or of any later
  220.      version published by the Free Software Foundation.  If the
  221.      Program does not specify a version number of the license, you may
  222.      choose any version ever published by the Free Software
  223.      Foundation.
  224.  
  225.   9. If you wish to incorporate parts of the Program into other free
  226.      programs whose distribution conditions are different, write to
  227.      the author to ask for permission.  For software which is
  228.      copyrighted by the Free Software Foundation, write to the Free
  229.      Software Foundation; we sometimes make exceptions for this.  Our
  230.      decision will be guided by the two goals of preserving the free
  231.      status of all derivatives of our free software and of promoting
  232.      the sharing and reuse of software generally.
  233.  
  234.                                 NO WARRANTY
  235.  
  236.  10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
  237.      WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
  238.      LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  239.      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
  240.      WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
  241.      NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  242.      FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
  243.      QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  244.      PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  245.      SERVICING, REPAIR OR CORRECTION.
  246.  
  247.  11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  248.      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  249.      MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
  250.      LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
  251.      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  252.      INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
  253.      OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
  254.      YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
  255.      ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
  256.      ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  257.  
  258.                      END OF TERMS AND CONDITIONS
  259.  
  260.  
  261. Appendix: How to Apply These Terms to Your New Programs
  262. =======================================================
  263.  
  264.   If you develop a new program, and you want it to be of the greatest
  265. possible use to humanity, the best way to achieve this is to make it
  266. free software which everyone can redistribute and change under these
  267. terms.
  268.  
  269.   To do so, attach the following notices to the program.  It is safest
  270. to attach them to the start of each source file to most effectively
  271. convey the exclusion of warranty; and each file should have at least
  272. the "copyright" line and a pointer to where the full notice is found.
  273.  
  274.      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
  275.      Copyright (C) 19YY  NAME OF AUTHOR
  276.  
  277.      This program is free software; you can redistribute it and/or modify
  278.      it under the terms of the GNU General Public License as published by
  279.      the Free Software Foundation; either version 1, or (at your option)
  280.      any later version.
  281.  
  282.      This program is distributed in the hope that it will be useful,
  283.      but WITHOUT ANY WARRANTY; without even the implied warranty of
  284.      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  285.      GNU General Public License for more details.
  286.  
  287.      You should have received a copy of the GNU General Public License
  288.      along with this program; if not, write to the Free Software
  289.      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  290.  
  291. Also add information on how to contact you by electronic and paper
  292. mail.
  293.  
  294. If the program is interactive, make it output a short notice like this
  295. when it starts in an interactive mode:
  296.  
  297.      Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
  298.      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  299.      This is free software, and you are welcome to redistribute it
  300.      under certain conditions; type `show c' for details.
  301.  
  302. The hypothetical commands `show w' and `show c' should show the
  303. appropriate parts of the General Public License.  Of course, the
  304. commands you use may be called something other than `show w' and `show
  305. c'; they could even be mouse-clicks or menu items--whatever suits your
  306. program.
  307.  
  308. You should also get your employer (if you work as a programmer) or
  309. your school, if any, to sign a "copyright disclaimer" for the program,
  310. if necessary.  Here a sample; alter the names:
  311.  
  312.      Yoyodyne, Inc., hereby disclaims all copyright interest in the
  313.      program `Gnomovision' (a program to direct compilers to make passes
  314.      at assemblers) written by James Hacker.
  315.  
  316.      SIGNATURE OF TY COON, 1 April 1989
  317.      Ty Coon, President of Vice
  318.  
  319. That's all there is to it!
  320.  
  321.  
  322. 
  323. File: vm.info, Node: Introduction, Next: Starting Up, Prev: License, Up: Top
  324.  
  325. Introduction
  326. ************
  327.  
  328. VM (View Mail) is an Emacs subsystem that allows UNIX mail to be read
  329. and disposed of within Emacs.  Commands exist to do the normal things
  330. expected of a mail user agent, such as generating replies, saving
  331. messages to folders, deleting messages and so on.  There are other
  332. more advanced commands that do tasks like bursting and creating
  333. digests, message forwarding, and organizing message presentation
  334. according to various criteria.
  335.  
  336. To invoke VM simply type `M-x vm'.  VM gathers any mail that has
  337. arrived in your system mailbox and appends it to a file known as your
  338. "primary inbox", and visits that file for reading.  *Note Starting
  339. Up::.  A file visited for reading by VM is called the "current
  340. folder".
  341.  
  342. If there are any messages in the primary inbox, VM selects the first
  343. new or unread message, and previews it.  "Previewing" is VM's way of
  344. showing you part of message and allowing you to decide whether you
  345. want to read it.  *Note Previewing::.  By default VM shows you the
  346. message's sender, recipient, subject and date headers.  Typing SPC
  347. (`vm-scroll-forward') exposes the body of the message and flags the
  348. message as read.  Subsequent SPC's scroll forward through the message,
  349. `b' or DEL scrolls backward.  When you reach the end of a message,
  350. typing SPC or `n' moves you forward to preview the next message.
  351. *Note Paging::.
  352.  
  353. If you do not want to read a message that's being previewed, just type
  354. `n' and VM will move on to the next message (if there is one).
  355. *Note Selecting Messages::.
  356.  
  357. To save a message to a mail folder use `s' (`vm-save-message').  VM
  358. will prompt you for the folder name in the minibuffer.  *Note Saving
  359. Messages::.
  360.  
  361. Messages are deleted by typing `d' (`vm-delete-message') while
  362. previewing or reading them.  The message is not deleted right away; it
  363. is simply flagged for deletion.  If you change your mind about
  364. deleting a message just select it and type `u'
  365. (`vm-undelete-message'), and the message will be undeleted.  *Note
  366. Deleting Messages::.  The actual removal of deleted messages from the
  367. current folder is called "expunging" and it is accomplished by typing
  368. `#' (`vm-expunge-folder').  The message is still present in the
  369. on-disk version of the folder until the folder is saved.
  370.  
  371. Typing `h' (`vm-summarize') causes VM to pop up a window containing a
  372. summary of the contents of the current folder.  The summary is
  373. presented one line per message, by message number, listing each
  374. message's author, date sent, line and byte count, and subject.  Also,
  375. various letters appear beside the message number to indicate that a
  376. message is new, unread, flagged for deletion, etc.  An arrow `->'
  377. appears to the left of the line summarizing the current message.  The
  378. summary format is user configurable, *Note Summaries::.
  379.  
  380. When you are finished reading mail the current folder must be saved,
  381. so that the next time the folder is visited VM will know which
  382. messages have been already read, replied to and so on.  Typing `S'
  383. (`vm-save-folder') expunges all deleted messages and saves the folder.
  384. `C-x C-s' saves the folder without expunging deleted messages but the
  385. messages are still flagged deleted.  The next time the folder is
  386. visited these messages will still be flagged for deletion.
  387.  
  388. To quit VM you can type `q' (`vm-quit') or `x' (`vm-quit-no-change').
  389. Typing `q' expunges and saves the current folder before quitting.
  390. Also, any messages flagged new are changed to be flagged unread,
  391. before saving.  The `x' command quits VM without expunging, saving or
  392. otherwise modifying the current folder.  Quitting is not required; you
  393. can simply switch to another Emacs buffer when you've finished reading
  394. mail.
  395.  
  396. At any time while reading mail in the primary inbox you can type `g'
  397. (`vm-get-new-mail') to check to see if new mail has arrived.  If new
  398. mail has arrived it will be moved from the system spool area and
  399. merged into the primary inbox.  If you are not in the middle of
  400. another message, VM will also jump to the first new message.
  401.  
  402. If `vm-get-new-mail' is given a prefix argument, it will prompt for
  403. another file from which to gather messages instead of the usual spool
  404. files.  In this case the source folder is copied but not deleted.
  405.  
  406.  
  407. 
  408. File: vm.info, Node: Starting Up, Next: Selecting Messages, Prev: Introduction, Up: Top
  409.  
  410. Starting Up
  411. ***********
  412.  
  413. There are three ways to start VM: `M-x vm', `M-x vm-visit-folder' and
  414. `vm-mode'.  The first time VM is started in an Emacs session (by any
  415. of these methods), it attempts to load the file `~/.vm'.  If present
  416. this file should contain Lisp code, much like the `.emacs' file.
  417. Since VM has in excess of forty configuration variables, use of the
  418. `~/.vm' can considerably reduce clutter in the `.emacs' file.  You can
  419. force the reloading of this file on demand by typing `L'
  420. (`vm-load-init-file') from within VM.
  421.  
  422. `M-x vm' causes VM to gather any mail present in your system mailbox
  423. and append it to a file known as your "primary inbox", creating this
  424. file if necessary.  The default name of this file is `~/INBOX', but VM
  425. will use whatever file is named by the variable `vm-primary-inbox'.
  426.  
  427. VM transfers the mail from the system mailbox to the primary inbox via
  428. a temporary file known as the "crash box".  The variable
  429. `vm-crash-box' names the crash box file.  VM first copies the mail to
  430. the crash box, deletes the system mailbox, merges the crash box
  431. contents into the primary inbox, and then deletes the crash box.  If
  432. the system or Emacs should crash in the midst of this transfer, any
  433. message not present in the primary inbox will be either in the system
  434. mailbox or the crash box.  Some messages may be duplicated but no mail
  435. will be lost.
  436.  
  437. If the file named by `vm-crash-box' already exists when VM is started
  438. up, VM will merge that with the primary inbox before getting any new
  439. messages from the system mailbox.
  440.  
  441. By default, the location of the system mailbox is determined
  442. heuristically based on what type of system you're using.  VM can be
  443. told explicitly where the system mailbox is through the variable
  444. `vm-spool-files'.  The value of this variable should be a list of
  445. strings naming files VM should try when searching for newly arrived
  446. mail.  Multiple mailboxes can be specified if you receive mail in more
  447. than one place.  The value of `vm-spool-files' will be inherited from
  448. the shell environmental variables MAILPATH or MAIL if either of these
  449. variables are defined.
  450.  
  451. `M-x vm-visit-folder' (`v' from within VM) allows you to visit some
  452. other mail folder than the primary inbox.  The folder name will be
  453. prompted for in the minibuffer.
  454.  
  455. Once VM has read the folder, the first new or unread message will be
  456. selected.  If there is no such message, the first message in the
  457. folder is selected.
  458.  
  459. `M-x vm-mode' can be used on a buffer already loaded into Emacs to put
  460. it into the VM major mode so that VM commands can be executed from
  461. within it.  This command is suitable for use in Lisp programs, and for
  462. inclusion in `auto-mode-alist' to automatically start VM on a file
  463. based on a particular filename suffix.  `vm-mode' foregoes some of
  464. VM's startup procedures (e.g. starting up a summary) to facilitate
  465. noninteractive use.
  466.  
  467. The variable `vm-startup-with-summary' controls whether VM
  468. automatically displays a summary of the folder's contents at startup.
  469. A value of `nil' gives no summary; a value of `t' gives a full frame
  470. summary.  A value that is neither `t' nor `nil' splits the frame
  471. between the summary and the folder display.  The latter only works if
  472. the variable `pop-up-windows''s value is non-`nil', and the value of
  473. `vm-mutable-windows' is non-`nil'.  The default value of
  474. `vm-startup-with-summary' is `nil'.
  475.  
  476. The variable `vm-mail-window-percentage' tells VM what percentage of
  477. the frame should be given to the folder display when both it and the
  478. folder summary are being displayed.  Note that Emacs enforces a
  479. minimum window size limit, so a very high or very low value for this
  480. variable may squeeze out one of the displays entirely.  This
  481. variable's default value is 75, which works with Emacs' default
  482. minimum window size limit, on a 24 line terminal.  Note that the value
  483. of `vm-mutable-windows' must be `t' or VM will not do window resizing
  484. regardless of the value of `vm-mail-window-percentage'.
  485.  
  486. A non-`nil' value for the variable `vm-inhibit-startup-message'
  487. disables the display of the VM's copyright, copying and warranty
  488. disclaimer.  If you must, set this variable in your own `.emacs' file;
  489. don't set it globally for everyone.  Users should be told their
  490. rights.  The startup messages abort at the first keystroke after
  491. startup, so they do not impede mail reading.
  492.  
  493.  
  494. 
  495. File: vm.info, Node: Selecting Messages, Next: Reading Messages, Prev: Starting Up, Up: Top
  496.  
  497. Selecting Messages
  498. ******************
  499.  
  500. The primary commands for selecting messages in VM are `n'
  501. (`vm-next-message') and `p' (`vm-previous-message').  These commands
  502. move forward and backward through the current folder.  When they go
  503. beyond the end or beginning of the folder they wrap to the beginning
  504. and end respectively.  By default, these commands skip messages
  505. flagged for deletion.  This behavior can be disabled by setting the
  506. value of the variable `vm-skip-deleted-messages' to `nil'.  These
  507. commands can also be made to skip messages that have been read; set
  508. `vm-skip-read-messages' to `t' to do this.
  509.  
  510. The commands `n' and `p' also take prefix arguments that specify the
  511. number of messages to move forward or backward.  If the magnitude of
  512. the prefix argument is greater than 1, no message skipping will be
  513. done regardless of the settings of the previously mentioned skip
  514. control variables.
  515.  
  516. The variable `vm-circular-folders' determines whether VM folders will
  517. be considered circular by various commands.  "Circular" means VM will
  518. wrap from the end of the folder to the start and vice versa when
  519. moving the message pointer, deleting, undeleting or saving messages
  520. before or after the current message.
  521.  
  522. A value of `t' causes all VM commands to consider folders circular.  A
  523. value of `nil' causes all of VM commands to signal an error if the
  524. start or end of the folder would have to be passed to complete the
  525. command.  For movement commands, this occurs after the message pointer
  526. has been moved as far it can go.  For other commands the error occurs
  527. before any part of the command has been executed, i.e. no deletions,
  528. saves, etc. will be done unless they can be done in their entirety.  A
  529. value other than `nil' or `t' causes only VM's movement commands to
  530. consider folders circular.  Saves, deletes and undeletes will behave
  531. as if the value is `nil'.  The default value of `vm-circular-folders'
  532. is `0'.
  533.  
  534. Other commands to select messages:
  535.  
  536. `RET (`vm-goto-message')'
  537.      Go to message number N.  N is the prefix argument, if provided,
  538.      otherwise it is prompted for in the minibuffer.
  539. `TAB (`vm-goto-message-last-seen')'
  540.      Go to message last previewed or read.
  541. `N (`vm-Next-message')'
  542. `P (`vm-Previous-message')'
  543.      Go to the next (previous) message, ignoring the settings of the
  544.      skip control variables.
  545. `M-n (`vm-next-unread-message')'
  546. `M-p (`vm-previous-unread-message')'
  547.      Move forward (backward) to the nearest new or unread message.  If
  548.      no such message exists then these commands work like `n' and `p'.
  549. `M-s (`vm-isearch-forward')'
  550. `M-x vm-isearch-backward'
  551.      These work just like Emacs' normal forward and backward incremental
  552.      search commands, except that when the search ends, VM selects the
  553.      message containing point.  If the value of the variable
  554.      `vm-search-using-regexps' is non-`nil', a regular expression
  555.      may be used instead of a fixed string for the search pattern; VM
  556.      defaults to the fixed string search.  If a prefix argument is given,
  557.      the value of `vm-search-using-regexps' is temporarily toggled for
  558.      the search.
  559.      *Note Incremental Search: (emacs)Incremental Search.
  560.  
  561.  
  562. 
  563. File: vm.info, Node: Reading Messages, Next: Sending Messages, Prev: Selecting Messages, Up: Top
  564.  
  565. Reading Messages
  566. ****************
  567.  
  568. Once a message has been selected, VM will present it to you.  By
  569. default, presentation is done in two stages: "previewing" and
  570. "paging".
  571.  
  572. * Menu:
  573.  
  574. * Previewing::    Customizing message previews.
  575. * Paging::    Scrolling and paging through the current message.
  576.  
  577.  
  578. 
  579. File: vm.info, Node: Previewing, Next: Paging, Prev: Reading Messages, Up: Reading Messages
  580.  
  581. Previewing
  582. ==========
  583.  
  584. "Previewing" is VM's way of showing you a small portion of a message
  585. and allowing you to decide whether you want to read it.  Typing SPC
  586. exposes the body of the message, and from there you can repeatedly
  587. type SPC to page through the message.
  588.  
  589. By default, the sender, recipient, subject and date headers are shown
  590. when previewing; the rest of the message is hidden.  This behavior may
  591. be altered by changing the settings of three variables:
  592. `vm-visible-headers', `vm-invisible-header-regexp' and
  593. `vm-preview-lines'.
  594.  
  595. The value of `vm-preview-lines' should be a number that tells VM how
  596. many lines of the text of the message should be visible.  The default
  597. value of this variable is 0.  If `vm-preview-lines' is `nil', then
  598. previewing is not done at all; when a message is first presented it is
  599. immediately exposed in its entirety and is flagged as read.
  600.  
  601. The value of `vm-visible-headers' should be a list of regular
  602. expressions matching the beginnings of headers that should be made
  603. visible when a message is presented.  The regexps should be listed in
  604. the preferred presentation order of the headers they match.
  605.  
  606. If non-`nil', the variable `vm-invisible-header-regexp' specifies what
  607. headers should *not* be displayed.  Its value should be a string
  608. containing a regular expression that matches all headers you do not
  609. want to see.  Setting this variable non-`nil' implies that you want to
  610. see all headers not matched by it; therefore the value of
  611. `vm-visible-headers' is only used to determine the order of the
  612. visible headers in this case.  Headers not matched by
  613. `vm-invisible-header-regexp' or `vm-visible-headers' are displayed
  614. last.
  615.  
  616. If you change the value of either `vm-visible-headers' or
  617. `vm-invisible-header-regexp' in the middle of a VM session the effects
  618. will not be immediate.  You will need to use the command
  619. `vm-discard-cached-data' on each message (bound to `j' by default) to
  620. force VM rearrange the message headers.  A good way to do this is to
  621. mark all the messages in the folder and apply `vm-discard-cached-data'
  622. to the marked messages.  *Note Message Marks::.
  623.  
  624. Another variable of interest is `vm-highlighted-header-regexp'.  The
  625. value of this variable should be a single regular expression that
  626. matches the beginnings of any header that should be presented in
  627. inverse video when previewing.  For example, a value of
  628. `"^From\\|^Subject"' causes the From and Subject headers to be
  629. highlighted.
  630.  
  631. By default, VM previews all messages, even if they have already been
  632. read.  To have VM preview only those messages that have not been read,
  633. set the value of `vm-preview-read-messages' to `nil'.
  634.  
  635. Typing `t' (`vm-expose-hidden-headers') makes VM toggle between
  636. exposing and hiding headers that would ordinarily be hidden.
  637.  
  638.  
  639. 
  640. File: vm.info, Node: Paging, Prev: Previewing, Up: Reading Messages
  641.  
  642. Paging
  643. ======
  644.  
  645. Typing SPC during a message preview exposes the body of the message.
  646. If the message was new or previously unread, it will be flagged
  647. "read".  At this point you can use SPC to scroll forward, and `b' or
  648. DEL to scroll backward a windowful of text at a time.  Typing space at
  649. the end of a message moves you to the next message.  If the value of
  650. `vm-auto-next-message' is `nil', SPC will not move to the next
  651. message; you must type `n' explicitly.
  652.  
  653. If the value of `vm-honor-page-delimiters' is non-`nil', VM will
  654. recognize and honor page delimiters.  This means that when you scroll
  655. through a document, VM will display text only up to the next page
  656. delimiter.  Text after the delimiter will be hidden until you type
  657. another SPC, at which point the text preceding the delimiter will
  658. become hidden.  The Emacs variable `page-delimiter' determines what VM
  659. will consider to be a page delimiter.
  660.  
  661. You can "unread" a message (so to speak) by typing `U'
  662. (`vm-unread-message').  The current message will be flagged unread.
  663.  
  664.  
  665. 
  666. File: vm.info, Node: Sending Messages, Next: Saving Messages, Prev: Reading Messages, Up: Top
  667.  
  668. Sending Messages
  669. ****************
  670.  
  671. When sending messages from within VM, you will be using the standard
  672. Mail major mode provided with GNU Emacs.  *Note Mail Mode: (emacs)Mail
  673. Mode.  However, `*mail*' buffers created by VM have extra command
  674. keys:
  675.  
  676. `C-c C-y (`vm-yank-message')'
  677.      Copies a message from the current folder into the `*mail*'
  678.      buffer.  The message number is read from the minibuffer.  By
  679.      default, each line of the copy is prepended with the value of the
  680.      variable `vm-included-text-prefix'.  All message headers are
  681.      yanked along with the text.  Point is left before the inserted
  682.      text, the mark after.  Any hook functions bound to
  683.      mail-yank-hooks are run, after inserting the text and setting
  684.      point and mark.  If a prefix argument is given, this tells VM to
  685.      ignore mail-yank-hooks, don't set the mark, don't prepend the
  686.      value of vm-included-text-prefix to every yanked line, and don't
  687.      yank any headers other than those specified in
  688.      vm-visible-headers/vm-invisible-headers.
  689. `C-c y (`vm-yank-message-other-folder')'
  690.      Work like `vm-yank-message', but it first prompts for the name of
  691.      a folder from which to yank the message.
  692. `C-c C-v <Any VM command key>'
  693.      All VM commands may be accessed in the `*mail*' buffer by
  694.      prefixing them with C-c C-v.
  695.  
  696. The simplest command is `m' (`vm-mail') which sends a mail message
  697. much as `M-x mail' does but allows the added commands described above.
  698.  
  699. `vm-mail' can be invoked outside of VM by typing `M-x vm-mail'.
  700. However, of the above commands, only `C-c y'
  701. (`vm-yank-message-other-folder') will work; all the other commands
  702. require a parent folder.
  703.  
  704. If you send a message and it is returned by the mail system because it
  705. was undeliverable, you can easily resend the message by typing `M-r'
  706. (`vm-resend-bounced-message').  VM will extract the old message and
  707. its pertinent headers from the returned message, and place you in a
  708. `*mail*' buffer.  You can then change the recipient addresses or do
  709. whatever is necessary to correct the original problem and resend the
  710. message.
  711.  
  712. * Menu:
  713.  
  714. * Replying::        Describes the various ways to reply to a message.
  715. * Forwarding Messages::    How to forward a message to a third party.
  716.  
  717.  
  718. 
  719. File: vm.info, Node: Replying, Next: Forwarding Messages, Prev: Sending Messages, Up: Sending Messages
  720.  
  721. Replying
  722. ========
  723.  
  724. VM has special commands that make it easy to reply to a message.  When
  725. a reply command is invoked, VM fills in the subject and recipient
  726. headers for you, since it is apparent to whom the message should be
  727. sent and what the subject should be.  There is an old convention of
  728. prepending the string `"Re: "' to the subject of replies if the string
  729. isn't present already.  VM supports this indirectly by providing the
  730. variable `vm-reply-subject-prefix'.  Its value should be a string to
  731. prepend to the subject of replies, if the said string isn't present
  732. already.  A `nil' value means don't prepend anything to the subject
  733. (this is the default).  In any case you can edit any of the message
  734. headers manually, if you wish.
  735.  
  736. VM also helps you quote material from a message to which you are
  737. replying by providing "included text" as a feature of some of the
  738. commands.  "Included text" is a copy of the message being replied to
  739. with some fixed string prepended to each line so that included text
  740. can be distinguished from the text of the reply.  The variable
  741. `vm-included-text-prefix' specifies what the prepended string will be.
  742.  
  743. The variable `vm-included-text-attribution-format' specifies the
  744. format for the attribution of included text.  This attribution is a
  745. line of text that tells who wrote the text that is to be included; it
  746. will be inserted before the included text.  If non-`nil', the value of
  747. `vm-included-text-attribution-format' should be a string format
  748. specification similar to `vm-summary-format'.  *Note Summaries::.  A
  749. `nil' value causes the attribution to be omitted.
  750.  
  751. The variable `vm-in-reply-to-format' specifies the format of the
  752. In-Reply-To header that is inserted into header section of the reply
  753. buffer.  Like `vm-included-text-attribution-format',
  754. `vm-in-reply-to-format' should be a string similar to that of
  755. `vm-summary-format'.  A `nil' value causes the In-Reply-To header to
  756. be omitted.
  757.  
  758. The recipient headers generated for reply messages are created by
  759. simply copying the appropriate headers for the message to which you
  760. are replying.  This includes any full name information, comments,
  761. etc. in these headers.  If the variable `vm-strip-reply-headers' is
  762. non-`nil', the reply headers will stripped of all information but the
  763. actual addresses.
  764.  
  765. The reply commands are:
  766.  
  767. `r (`vm-reply')'
  768.      Replies to the author of the current message.
  769. `R (`vm-reply-include-text')'
  770.      Replies to the author of the current message and provides
  771.      included text.
  772. `f (`vm-followup')'
  773.      Replies to the all recipients of the current message.
  774. `F (`vm-followup-include-text')'
  775.      Replies to the all recipients of the current message and provides
  776.      included text.
  777.  
  778. These commands all accept a numeric prefix argument N, which if
  779. present, causes VM to reply to the next (or previous if the argument is
  780. negative) N-1 message as well as the current message.  Also all
  781. the reply commands set the "replied" attribute of the messages to
  782. which you are responding, but only when the reply is actually sent.  The
  783. reply commands can also be applied to marked messages,
  784. *Note Message Marks::.
  785.  
  786. If you are one of multiple recipients of a message and you use `f' and
  787. `F', your address will be included in the recipients of the reply.
  788. You can avoid this by judicious use of the variable
  789. `vm-reply-ignored-addresses'.  Its value should be a list of regular
  790. expressions that match addresses that VM should automatically remove
  791. from the recipient headers of replies.
  792.  
  793.  
  794. 
  795. File: vm.info, Node: Forwarding Messages, Prev: Replying, Up: Sending Messages
  796.  
  797. Forwarding Messages
  798. ===================
  799.  
  800. VM has two commands to forward messages: `z' (`vm-forward-message')
  801. and @ (`vm-send-digest').
  802.  
  803. Typing `z' puts you into a `*mail*' buffer just like `m', except the
  804. current message appears as the body of the message in the `*mail*'
  805. buffer. The forwarded message is surrounded by RFC 934 compliant
  806. message delimiters.  If the variable `vm-rfc934-forwarding' is
  807. non-`nil', "^-" to "- -" character stuffing is done to the forwarded
  808. message (this is the default).  This behavior is required if the
  809. recipient of the forwarded message wants to use a RFC 934 standard
  810. bursting agent to access the message.  If the variable
  811. `vm-forwarding-subject-format' is non-`nil' it should specify the
  812. format of the Subject header of the forwarded message.  This subject
  813. will be used as the contents of the Subject header automatically
  814. inserted into the `*mail*' buffer.  A `nil' value causes the Subject
  815. header to be left blank.  The forwarded message is flagged
  816. "forwarded".  The command @ (`vm-send-digest') works like `z' except
  817. that a digest of all the messages in the current folder is made and
  818. inserted into the `*mail*' buffer.  Also, `vm-send-digest' can be
  819. applied to marked messages.  *Note Message Marks::.  When applied to
  820. marked messages, `vm-send-digest' will only bundle marked messages, as
  821. opposed to the usual bundling of all messages in the current folder.
  822. If you give `vm-send-digest' a prefix argument, VM will insert a list
  823. of preamble lines at the beginning of the digest, one line per
  824. digestified message.  The variable `vm-digest-preamble-format'
  825. determines the format of the preamble lines.  If the value of
  826. `vm-digest-center-preamble' is non-`nil', the preamble lines will be
  827. centered.
  828.  
  829.  
  830. 
  831. File: vm.info, Node: Saving Messages, Next: Deleting Messages, Prev: Sending Messages, Up: Top
  832.  
  833. Saving Messages
  834. ***************
  835.  
  836. Mail messages are normally saved to files that contain only mail
  837. messages.  Such files are called "folders".
  838.  
  839. The VM command to save a message to a folder is `s'
  840. (`vm-save-message'); invoking this command causes the current message
  841. to be saved to a folder whose name you specify in the minibuffer.  If
  842. `vm-save-message' is given a prefix argument N, the current message
  843. plus the next N-1 message are saved.  If N is negative, the current
  844. message and the previous N-1 messages are saved.  Messages saved with
  845. `vm-save-message' are flagged "filed".
  846.  
  847. If the value of the variable `vm-confirm-new-folders' is non-`nil', VM
  848. will ask for confirmation before creating a new folder on interactive
  849. saves.
  850.  
  851. If you have a directory where you keep all your mail folders, you
  852. should set the variable `vm-folder-directory' to point to it.  If this
  853. variable is set, `vm-save-message' will insert this directory name
  854. into the minibuffer before prompting you for a folder name; this will
  855. save you some typing.
  856.  
  857. Another aid to selecting folders in which to save mail is the variable
  858. `vm-auto-folder-alist'.  The value of this variable should be a list
  859. of the form,
  860.  
  861.      ((HEADER-NAME
  862.         (REGEXP . FOLDER-NAME) ...)
  863.        ...)
  864.  
  865. where HEADER-NAME and REGEXP are strings, and FOLDER-NAME is a string
  866. or an s-expression that evaluates to a string.
  867.  
  868. If any part of the contents of the message header named by HEADER-NAME
  869. is matched by the regular expression REGEXP, VM will evaluate the
  870. corresponding FOLDER-NAME and use the result as the default when
  871. prompting for a folder to save the message in.  If the resulting
  872. folder name is a relative pathname it resolves to the directory named
  873. by `vm-folder-directory', or the `default-directory' of the currently
  874. visited folder if `vm-folder-directory' is `nil'.
  875.  
  876. When FOLDER-NAME is evaluated, the current buffer will contain only
  877. the contents of the header named by HEADER-NAME.  It is safe to modify
  878. this buffer.  You can use the match data from any `\( ...  \)'
  879. grouping constructs in REGEXP along with the function
  880. `buffer-substring' to build a folder name based on the header
  881. information.  If the result of evaluating FOLDER-NAME is a list, then
  882. the list will be treated as another auto-folder-alist and will be
  883. descended recursively.
  884.  
  885. Whether matching is case sensitive depends on the value of the
  886. variable `vm-auto-folder-case-fold-search'.  A non-`nil' value makes
  887. matching case insensitive.  The default value is `t', which means
  888. matching is case sensitive.  Note that the matching of header names is
  889. always case insensitive because RFC 822 specifies that header names
  890. are case indistinct.
  891.  
  892. VM can save messages to a folder in two distinct ways.  The message
  893. can be appended directly to the folder on disk, or the folder can be
  894. visited as Emacs would visit any other file and the message be
  895. appended to that buffer.  In the latter method you must save the
  896. buffer yourself to change the on-disk copy of the folder.  The
  897. variable `vm-visit-when-saving' controls which method is used.  A
  898. value of `t' causes VM to always visit a folder before saving message
  899. to it.  A `nil' value causes VM to always append directly to the
  900. folder file.  In this case VM will not save messages to the disk copy
  901. of a folder that is being visited.  This restriction is necessary to
  902. insure that the buffer and on-disk copies of the folder are
  903. consistent. If the value of VM-VISIT-WHEN-SAVING is not `nil' and not
  904. `t' (e.g. 0, the default), VM will append to the folder's buffer if
  905. the buffer is currently being visited, otherwise VM will append to the
  906. file itself.
  907.  
  908. After a message is saved to a folder, the usual thing to do next is to
  909. delete it.  If the variable `vm-delete-after-saving' is non-`nil', VM
  910. will flag messages for deletion automatically after saving them.  This
  911. applies only to saves to folders, not for the `w' command (see below).
  912.  
  913. Other commands:
  914.  
  915. `w (`vm-save-message-sans-headers')'
  916.      Saves a message or messages to a file without their headers.
  917.      This command responds to a prefix argument exactly as
  918.      `vm-save-message' does.  Messages saved this way are flagged
  919.      "written".
  920. `A (`vm-auto-archive-messages')'
  921.      Save all unfiled messages that auto-match a folder via
  922.      `vm-auto-folder-alist' to their appropriate folders.  Messages
  923.      that are flagged for deletion are not saved by this command.  If
  924.      invoked with a prefix argument, confirmation will be requested
  925.      for each save.
  926. `| (`vm-pipe-message-to-command')'
  927.      Runs a shell command with some or all of the current message as input.
  928.      By default, the entire message is used.
  929.  
  930.      If invoked with one C-u the text portion of the message is used.
  931.      If invoked with two C-u's the header portion of the message is used.
  932.  
  933.      If the shell command generates any output, it is displayed in a
  934.      `*Shell Command Output*' buffer.  The message itself is not altered.
  935.  
  936.  
  937. 
  938. File: vm.info, Node: Deleting Messages, Next: Editing Messages, Prev: Saving Messages, Up: Top
  939.  
  940. Deleting Messages
  941. *****************
  942.  
  943. In VM, messages are flagged for deletion, and then are subsequently
  944. "expunged" or removed from the folder.  The messages are not removed
  945. from the on-disk copy of the folder until the folder is saved.
  946.  
  947. `d (`vm-delete-message')'
  948.      Flags the current message for deletion.  A prefix argument N
  949.      causes the current message and the next N-1 messages to be
  950.      flagged.  A negative N causes the current message and the
  951.      previous N-1 messages to be flagged.
  952. `u (`vm-undelete-message')'
  953.      Removes the deletion flag from the current message.  A prefix
  954.      argument N causes the current message and the next N-1 messages
  955.      to be undeleted.  A negative N causes the current message and the
  956.      previous N-1 messages to be undeleted.
  957. `k (`vm-kill-subject')'
  958.      Flags all messages with the same subject as the current message
  959.      (ignoring "Re:") for deletion.
  960. `# (`vm-expunge-folder')'
  961.      Does the actual removal of messages flagged for deletion in the
  962.      current folder.
  963.  
  964. Setting the variable `vm-move-after-deleting' non-`nil' causes VM to
  965. move past the messages after flagging them for deletion.  Setting
  966. `vm-move-after-undeleting' non-`nil' causes similar movement after
  967. undeletes.
  968.  
  969.  
  970. 
  971. File: vm.info, Node: Editing Messages, Next: Message Marks, Prev: Deleting Messages, Up: Top
  972.  
  973. Editing Messages
  974. ****************
  975.  
  976. To edit a message, type `e' (`vm-edit-message').  The current message
  977. is copied into a temporary buffer, and this buffer is selected for
  978. editing.  The major mode of this buffer is controlled by the variable
  979. `vm-edit-message-mode'.  The default is Text mode.
  980.  
  981. Use `C-c ESC' (`vm-edit-message-end') when you have finished editing
  982. the message.  The message will be inserted into its folder, replacing
  983. the old version of the message.  If you want to quit the edit without
  984. your edited version replacing the original, use `C-c C-]'
  985. (`vm-edit-message-abort'), or you can just kill the edit buffer with
  986. `C-x k' (`kill-buffer').
  987.  
  988. If you give a prefix argument to `vm-edit-message', then the current
  989. message will be flagged unedited.
  990.  
  991. As with VM `*mail*' buffers, all VM commands can be accessed from the
  992. edit buffer through the command prefix `C-c C-v'.
  993.  
  994.  
  995. 
  996. File: vm.info, Node: Message Marks, Next: Undoing, Prev: Editing Messages, Up: Top
  997.  
  998. Message Marks
  999. *************
  1000.  
  1001. VM provides general purpose "marks" that may be applied to any and all
  1002. messages within a given folder.  Certain VM commands can be
  1003. subsequently invoked only on those message that are marked.
  1004.  
  1005. To mark the current message, type `C-c C-@' (`vm-mark-message').  If
  1006. you give a numeric prefix argument N, the next N-1 messages will be
  1007. marked as well.  A negative prefix argument means mark the previous
  1008. N-1.  An asterisk (`*') will appear to the right of the message
  1009. numbers of all marked messages in the summary window.
  1010.  
  1011. To remove a mark from the current message, use `C-c SPC'
  1012. (`vm-unmark-message').  Prefix arguments work as with
  1013. `vm-mark-message'.
  1014.  
  1015. Use `C-c C-a' to mark all messages in the current folder; `C-c a'
  1016. removes marks from all messages.
  1017.  
  1018. To apply a VM command to all marked message you must prefix it with
  1019. the key sequence `C-c RET' (`vm-next-command-uses-marks').  The next
  1020. VM command will apply to all marked messages, provided the command can
  1021. be applied to such messages in a meaningful and useful way.  The
  1022. current commands that can be applied to marked messages are:
  1023. `vm-delete-message', `vm-discard-cached-data', `vm-followup',
  1024. `vm-followup-include-text', `vm-reply', `vm-reply-include-text',
  1025. `vm-save-message', `vm-save-message-sans-headers', `vm-send-digest',
  1026. `vm-undelete-message', and `vm-unread-message'.
  1027.  
  1028.  
  1029. 
  1030. File: vm.info, Node: Undoing, Next: Grouping Messages, Prev: Message Marks, Up: Top
  1031.  
  1032. Undoing
  1033. *******
  1034.  
  1035. VM provides a special form of undo which allows changes to message
  1036. attributes to be undone.
  1037.  
  1038. Typing `C-x u' or C-_ (`vm-undo') undoes the last attribute change.
  1039. Consecutive `vm-undo''s undo further and further back.  Any
  1040. intervening command breaks the undo chain, after which the undos
  1041. themselves become undoable by subsequent invocations of `vm-undo'.
  1042.  
  1043. Note that expunges, saves and message edits are *not* undoable.
  1044.  
  1045.  
  1046. 
  1047. File: vm.info, Node: Grouping Messages, Next: Reading Digests, Prev: Undoing, Up: Top
  1048.  
  1049. Grouping Messages
  1050. *****************
  1051.  
  1052. In order to make numerous related messages easier to cope with, VM
  1053. provides the command `G' (`vm-group-messages'), which groups all
  1054. messages in a folder according to some criterion.  "Grouping" causes
  1055. messages that are related in some way to be presented consecutively.
  1056. The actual order of the folder is not altered; the messages are simply
  1057. numbered and presented differently.  Grouping should not be confused
  1058. with sorting; grouping only moves messages that occur later in the
  1059. folder backward to "clump" with other related messages.
  1060.  
  1061. The grouping criteria currently supported are:
  1062. `subject'
  1063.      Messages with the same subject (ignoring "Re:" prefixes) are
  1064.      grouped together.
  1065. `author'
  1066.      Messages with the same author are grouped together.
  1067. `recipient'
  1068.      Message with the same recipients are grouped together.
  1069. `date-sent'
  1070.      Messages sent on the same day are grouped together.
  1071. `physical-order'
  1072.      Message presentation reverts to physical message order of the
  1073.      folder (the default).
  1074.  
  1075. If the variable `vm-group-by' has a non-`nil' value it specifies the
  1076. default grouping that will be used for all folders.  So if you like
  1077. having your mail presented to you grouped by subject, then put `(setq
  1078. vm-group-by "subject")' in your `.vm' or `.emacs' file to get this
  1079. behavior.
  1080.  
  1081.  
  1082. 
  1083. File: vm.info, Node: Reading Digests, Next: Summaries, Prev: Grouping Messages, Up: Top
  1084.  
  1085. Reading Digests
  1086. ***************
  1087.  
  1088. A "digest" is one or more mail messages encapsulated in a single
  1089. message.
  1090.  
  1091. VM supports digests by providing a command to "burst" them into their
  1092. individual messages.  These messages can then be handled like any
  1093. other messages under VM.
  1094.  
  1095. The command `*' (`vm-burst-digest') bursts a digest into its
  1096. individual messages and appends them to the current folder.  These
  1097. messages are then assimilated into the current folder using the
  1098. default grouping.  *Note Grouping Messages::.  The original digest
  1099. message is not altered, and the messages extracted from it are not
  1100. part of the on-disk copy of the folder until a save is done.
  1101.  
  1102. If you give a prefix argument to `vm-burst-digest', it will attempt to
  1103. cope with non-RFC 934 compliant digests.  If `vm-burst-digest' seems
  1104. to be breaking digests at inappropriate places, most likely the digest
  1105. is not compliant with the standard.  In this case try using the prefix
  1106. arg.
  1107.  
  1108.  
  1109. 
  1110. File: vm.info, Node: Summaries, Next: Miscellaneous, Prev: Reading Digests, Up: Top
  1111.  
  1112. Summaries
  1113. *********
  1114.  
  1115. Typing `h' (`vm-summarize') causes VM to display a summary of contents
  1116. of the current folder.  The information in the summary is
  1117. automatically updated as changes are made to the current folder.  An
  1118. arrow `->' appears to the left of the line summarizing the current
  1119. message.  The variable `vm-auto-center-summary' controls whether VM
  1120. will keep the summary arrow vertically centered within the summary
  1121. window.  A value of `t' causes VM to always keep the arrow centered.
  1122. A value of `nil' (the default) means VM will never bother centering
  1123. the arrow.  A value that is not `nil' and not `t' causes VM to center
  1124. the arrow only if the summary window is not the only existing window.
  1125.  
  1126. The variable `vm-summary-format' controls the format of each message's
  1127. summary.  Its value should be a string.  This string should contain
  1128. printf-like "%" conversion specifiers which substitute information
  1129. about the message into the final summary.
  1130.  
  1131. Recognized specifiers are:
  1132.         a - attribute indicators (always four characters wide)
  1133.             The first char is  `D', `N', `U' or ` ' for deleted, new, unread
  1134.             and read messages respectively.
  1135.             The second char is `F', `W' or ` ' for filed (saved) or written
  1136.             messages.
  1137.             The third char is `R', `Z' or ` ' for messages replied to,
  1138.             and forwarded messages.
  1139.             The fourth char is `E' if the message has been edited,
  1140.             ` ' otherwise.
  1141.         A - longer version of attributes indicators (six characters wide)
  1142.             The first char is  `D', `N', `U' or ` ' for deleted, new, unread
  1143.             and read messages respectively.
  1144.             The second is `r' or ` ', for message replied to.
  1145.             The third is `z' or ` ', for messages forwarded.
  1146.             The fourth is `f' or ` ', for messages filed.
  1147.             The fifth is `w' or ` ', for messages written.
  1148.             The sixth is `e' or ` ', for messages that have been edited.
  1149.         c - number of characters in message (ignoring headers)
  1150.         d - numeric day of month message sent
  1151.         f - author's address
  1152.         F - author's full name (same as f if full name not found)
  1153.         h - hour message sent
  1154.         i - message ID
  1155.         l - number of lines in message (ignoring headers)
  1156.         m - month message sent
  1157.         M - numeric month message sent (January = 1)
  1158.         n - message number
  1159.         s - message subject
  1160.         t - addresses of the recipients of the message, in a comma-separated list
  1161.         T - full names of the recipients of the message, in a comma-separated list
  1162.             If a full name cannot be found, the corresponding address is used
  1163.             instead.
  1164.         w - day of the week message sent
  1165.         y - year message sent
  1166.         z - timezone of date when the message was sent
  1167.         * - `*' if the current message is marked, ` ' otherwise
  1168.  
  1169. Use "%%" to get a single "%".
  1170.  
  1171. A numeric field width may be specified between the "%" and the
  1172. specifier; this causes right justification of the substituted string.
  1173. A negative field width causes left justification.  The field width may
  1174. be followed by a "." and a number specifying the maximum allowed
  1175. length of the substituted string.  If the string is longer than this
  1176. value, it is truncated.
  1177.  
  1178. The summary format need not be one line per message but it must end
  1179. with a newline, otherwise the message pointer will not be displayed
  1180. correctly in the summary window.
  1181.  
  1182. You can have a summary generated automatically at startup,
  1183. *Note Starting Up::.
  1184.  
  1185. All VM commands are available in the summary buffer just as they are
  1186. in the folder buffer itself.  If you set
  1187. `vm-follow-summary-cursor' non-`nil', VM will select the
  1188. message under the cursor in the summary window before executing
  1189. commands that operate on the current message.  Note that this occurs
  1190. *only* when executing a command from the summary buffer
  1191. window.
  1192.  
  1193.  
  1194. 
  1195. File: vm.info, Node: Miscellaneous, Prev: Summaries, Up: Top
  1196.  
  1197. Miscellaneous
  1198. *************
  1199.  
  1200. Here are some VM customization variables that don't really fit into
  1201. the other chapters.
  1202.  
  1203. `vm-confirm-quit'
  1204.      A value of `t' causes VM to always ask for confirmation before
  1205.      ending a VM visit of a folder.  A `nil' value means VM will ask
  1206.      only when messages will be lost unwittingly by quitting, i.e. not
  1207.      removed by intentional delete and expunge.  A value that is
  1208.      neither `nil' nor `t' causes VM to ask only when there are
  1209.      unsaved changes to message attributes or message will be lost.
  1210. `vm-berkeley-mail-compatibility'
  1211.      A non-`nil' value means to read and write BSD Mail(1) style
  1212.      Status: headers.  This makes sense if you plan to use VM to read
  1213.      mail archives created by Mail.
  1214. `vm-gargle-uucp'
  1215.      A non-`nil' value means to use a crufty regular expression that
  1216.      does surprisingly well at beautifying UUCP addresses that are
  1217.      substituted for %f and %t as part of summary and attribution
  1218.      formats.
  1219. `vm-mode-hooks'
  1220.      A non-`nil' value should be a list of hook functions to run when
  1221.      a buffer enters vm-mode.  These hook functions should generally
  1222.      be used to set key bindings and local variables.  Mucking about
  1223.      in the folder buffer is certainly possible, but it is not
  1224.      encouraged.
  1225. `vm-delete-empty-folders'
  1226.      A non-`nil' value for this variable causes VM to remove empty
  1227.      (zero length) folder files after saving them.
  1228. `vm-mutable-windows'
  1229.      This variable's value controls VM's window usage.  A value of `t'
  1230.      gives VM free run of the Emacs display; it will commandeer the
  1231.      entire frame for its purposes.  A value of `nil' restricts VM's
  1232.      window usage to the window from which it was invoked.  VM will
  1233.      not create, delete, or use any other windows, nor will it resize
  1234.      its own window.  A value that is neither `t' nor `nil' allows VM
  1235.      to use other windows, but it will not create new ones, or resize
  1236.      or delete the current ones.
  1237. `mail-yank-hooks'
  1238.      Value should be a list of functions to be called after a message
  1239.      is yanked into a `*mail*' buffer via `vm-yank-message'.  When
  1240.      each hook function is called, point will be at the beginning of
  1241.      the yanked text and mark at the end.
  1242.  
  1243.      This is not a VM specific variable, but rather an external
  1244.      variable that VM honors so that citation packages such as
  1245.      SUPERCITE can be used with VM.
  1246.  
  1247.  
  1248. 
  1249. File: vm.info, Node: Key Index, Next: Command Index, Prev: Top, Up: Top
  1250.  
  1251. Key Index
  1252. *********
  1253.  
  1254. * Menu:
  1255.  
  1256. * #:                            Deleting Messages.      25.
  1257. * @:                            Forwarding Messages.    22.
  1258. * *:                            Reading Digests.        12.
  1259. * |:                            Saving Messages.        97.
  1260. * A:                            Saving Messages.        90.
  1261. * b:                            Introduction.           19.
  1262. * C-_:                          Undoing.                8.
  1263. * C-c C-v:                      Sending Messages.       28.
  1264. * C-c C-y:                      Sending Messages.       10.
  1265. * C-c y:                        Sending Messages.       24.
  1266. * C-x u:                        Undoing.                8.
  1267. * d:                            Deleting Messages.      9.
  1268. * DEL:                          Introduction.           19.
  1269. * f:                            Replying.               55.
  1270. * F:                            Replying.               58.
  1271. * G:                            Grouping Messages.      5.
  1272. * g:                            Introduction.           73.
  1273. * h:                            Summaries.              5.
  1274. * k:                            Deleting Messages.      21.
  1275. * L:                            Starting Up.            5.
  1276. * m:                            Sending Messages.       30.
  1277. * M-n:                          Selecting Messages.     54.
  1278. * M-p:                          Selecting Messages.     54.
  1279. * M-s:                          Selecting Messages.     60.
  1280. * N:                            Selecting Messages.     48.
  1281. * n:                            Selecting Messages.     5.
  1282. * P:                            Selecting Messages.     48.
  1283. * p:                            Selecting Messages.     5.
  1284. * q:                            Introduction.           65.
  1285. * r:                            Replying.               48.
  1286. * R:                            Replying.               51.
  1287. * RET:                          Selecting Messages.     41.
  1288. * S:                            Introduction.           57.
  1289. * s:                            Saving Messages.        8.
  1290. * SPC:                          Introduction.           19.
  1291. * TAB:                          Selecting Messages.     45.
  1292. * u:                            Deleting Messages.      15.
  1293. * v:                            Starting Up.            43.
  1294. * w:                            Saving Messages.        84.
  1295. * x:                            Introduction.           65.
  1296. * z:                            Forwarding Messages.    8.
  1297.  
  1298.  
  1299. 
  1300. File: vm.info, Node: Command Index, Next: Variable Index, Prev: Key Index, Up: Top
  1301.  
  1302. Command Index
  1303. *************
  1304.  
  1305. * Menu:
  1306.  
  1307. * vm:                           Starting Up.            14.
  1308. * vm-auto-archive-messages:     Saving Messages.        90.
  1309. * vm-burst-digest:              Reading Digests.        12.
  1310. * vm-delete-message:            Deleting Messages.      9.
  1311. * vm-expose-hidden-headers:     Previewing.             56.
  1312. * vm-expunge-folder:            Deleting Messages.      25.
  1313. * vm-followup:                  Replying.               55.
  1314. * vm-followup-include-text:     Replying.               58.
  1315. * vm-forward-message:           Forwarding Messages.    8.
  1316. * vm-get-new-mail:              Introduction.           73.
  1317. * vm-goto-message:              Selecting Messages.     41.
  1318. * vm-goto-message:              Selecting Messages.     45.
  1319. * vm-group-messages:            Grouping Messages.      5.
  1320. * vm-isearch-backward:          Selecting Messages.     60.
  1321. * vm-isearch-forward:           Selecting Messages.     60.
  1322. * vm-kill-subject:              Deleting Messages.      21.
  1323. * vm-load-rc:                   Starting Up.            5.
  1324. * vm-mail:                      Sending Messages.       30.
  1325. * vm-mode:                      Starting Up.            51.
  1326. * vm-Next-message:              Selecting Messages.     48.
  1327. * vm-next-message:              Selecting Messages.     5.
  1328. * vm-next-unread-message:       Selecting Messages.     54.
  1329. * vm-pipe-message-to-command:   Saving Messages.        97.
  1330. * vm-Previous-message:          Selecting Messages.     48.
  1331. * vm-previous-message:          Selecting Messages.     5.
  1332. * vm-previous-unread-message:   Selecting Messages.     54.
  1333. * vm-quit:                      Introduction.           65.
  1334. * vm-quit-no-change:            Introduction.           65.
  1335. * vm-reply:                     Replying.               48.
  1336. * vm-reply-include-text:        Replying.               51.
  1337. * vm-save-folder:               Introduction.           57.
  1338. * vm-save-message:              Saving Messages.        8.
  1339. * vm-save-message-sans-headers: Saving Messages.        84.
  1340. * vm-scroll-backward:           Introduction.           19.
  1341. * vm-scroll-forward:            Introduction.           19.
  1342. * vm-send-digest:               Forwarding Messages.    22.
  1343. * vm-summarize:                 Summaries.              5.
  1344. * vm-undelete-message:          Deleting Messages.      15.
  1345. * vm-undo:                      Undoing.                8.
  1346. * vm-visit-folder:              Starting Up.            43.
  1347. * vm-yank-message:              Sending Messages.       10.
  1348. * vm-yank-message-other-folder: Sending Messages.       24.
  1349.  
  1350.  
  1351. 
  1352. File: vm.info, Node: Variable Index, Next: Introduction, Prev: Command Index, Up: Top
  1353.  
  1354. Variable Index
  1355. **************
  1356.  
  1357. * Menu:
  1358.  
  1359. * mail-yank-hooks:              Miscellaneous.          48.
  1360. * vm-auto-center-summary:       Summaries.              5.
  1361. * vm-auto-folder-alist:         Saving Messages.        26.
  1362. * vm-auto-folder-case-fold-search: Saving Messages.     54.
  1363. * vm-auto-next-message:         Paging.                 5.
  1364. * vm-berkeley-mail-compatibility: Miscellaneous.        16.
  1365. * vm-circular-folders:          Selecting Messages.     21.
  1366. * vm-confirm-new-folders:       Saving Messages.        16.
  1367. * vm-confirm-quit:              Miscellaneous.          8.
  1368. * vm-crash-box:                 Starting Up.            19.
  1369. * vm-delete-after-saving:       Saving Messages.        77.
  1370. * vm-delete-empty-folders:      Miscellaneous.          34.
  1371. * vm-digest-center-preamble:    Forwarding Messages.    22.
  1372. * vm-digest-preamble-format:    Forwarding Messages.    22.
  1373. * vm-folder-directory:          Saving Messages.        20.
  1374. * vm-follow-summary-cursor:     Summaries.              75.
  1375. * vm-forwarding-subject-format: Forwarding Messages.    8.
  1376. * vm-gargle-uucp:               Miscellaneous.          21.
  1377. * vm-group-by:                  Grouping Messages.      28.
  1378. * vm-highlighted-header-regexp: Previewing.             45.
  1379. * vm-included-text-attribution-format: Replying.        24.
  1380. * vm-included-text-prefix:      Replying.               17.
  1381. * vm-inhibit-startup-message:   Starting Up.            78.
  1382. * vm-in-reply-to-format:        Replying.               32.
  1383. * vm-invisible-header-regexp:   Previewing.             27.
  1384. * vm-mail-window-percentage:    Starting Up.            68.
  1385. * vm-mode-hooks:                Miscellaneous.          27.
  1386. * vm-move-after-deleting:       Deleting Messages.      26.
  1387. * vm-move-after-undeleting:     Deleting Messages.      26.
  1388. * vm-mutable-windows:           Miscellaneous.          38.
  1389. * vm-preview-lines:             Previewing.             16.
  1390. * vm-preview-read-messages:     Previewing.             52.
  1391. * vm-primary-inbox:             Starting Up.            14.
  1392. * vm-reply-ignored-addresses:   Replying.               67.
  1393. * vm-reply-subject-prefix:      Replying.               5.
  1394. * vm-rfc934-forwarding:         Forwarding Messages.    8.
  1395. * vm-search-using-regexps:      Selecting Messages.     60.
  1396. * vm-skip-deleted-messages:     Selecting Messages.     5.
  1397. * vm-skip-read-messages:        Selecting Messages.     5.
  1398. * vm-spool-files:               Starting Up.            33.
  1399. * vm-startup-with-summary:      Starting Up.            59.
  1400. * vm-strip-reply-headers:       Replying.               39.
  1401. * vm-summary-format:            Summaries.              16.
  1402. * vm-visible-headers:           Previewing.             22.
  1403. * vm-visit-when-saving:         Saving Messages.        61.
  1404.  
  1405. 
  1406. Tag table:
  1407. Node: Top393
  1408. Node: License1645
  1409. Node: Introduction14946
  1410. Node: Starting Up19223
  1411. Node: Selecting Messages23637
  1412. Node: Reading Messages26891
  1413. Node: Previewing27281
  1414. Node: Paging30138
  1415. Node: Sending Messages31238
  1416. Node: Replying33569
  1417. Node: Forwarding Messages37158
  1418. Node: Saving Messages38975
  1419. Node: Deleting Messages43997
  1420. Node: Editing Messages45334
  1421. Node: Message Marks46312
  1422. Node: Undoing47754
  1423. Node: Grouping Messages48278
  1424. Node: Reading Digests49689
  1425. Node: Summaries50727
  1426. Node: Miscellaneous54700
  1427. Node: Key Index57162
  1428. Node: Command Index59719
  1429. Node: Variable Index62356
  1430. 
  1431. End tag table
  1432.